home *** CD-ROM | disk | FTP | other *** search
/ PC Graphics Unleashed / PC Graphics Unleashed.iso / povcad40 / polytex.inc < prev    next >
Text File  |  1994-09-18  |  6KB  |  267 lines

  1. ///////////////////////////////////////////////////////////////////////////
  2. //  This file is a collection of the author's favorite Polyray textures  //
  3. //                                                                       //
  4. //  This file requires that Polyray's "colors.inc", "texture.inc", and   //
  5. //  "stones.inc" already be parsed...                                    //
  6. //                                                                       //
  7. //  If you add your own textures to this file, add the texture name to   //
  8. //  the file "textures.def" so they'll appear in the texture list in     //
  9. //  POVCAD.                                                              //
  10. ///////////////////////////////////////////////////////////////////////////
  11.  
  12. // We only need to define these things on the very first frame.
  13. if (frame == start_frame) {
  14.  
  15. // Rob McGregor's mirrored marble texture
  16. static define mirrored_white_marble
  17. texture {
  18.   noise surface {
  19.     color white
  20.     position_fn position_objectx
  21.     lookup_fn lookup_sawtooth
  22.     octaves 3
  23.     turbulence 6
  24.     ambient 0.3
  25.     specular white, 0.7
  26.     microfacet Cook 5
  27.     reflection .75
  28.     color_map([0.0, 0.8, <1, 1, 1>, <0.6, 0.6, 0.6>]
  29.               [0.8, 1.0, <0.6, 0.6, 0.6>, <0.1, 0.1, 0.1>])
  30.   }
  31. }
  32.  
  33. // Alfonso Hermida's moon texture
  34. static define moon
  35. texture {
  36.   noise surface {
  37.     color white
  38.     position_fn position_spherical
  39.     position_scale 1.0
  40.     lookup_fn lookup_sawtooth
  41.     octaves 3
  42.     turbulence 0.53
  43.     ambient 0.4
  44.     diffuse 0.8
  45.     specular 0.2
  46.     microfacet Reitz 5
  47.     normal  dented_normal
  48.     bump_scale 0.2
  49.     frequency 10
  50.     color_map([0.0, 0.8, <1, 1, 1>, <0.6, 0.6, 0.6>]
  51.               [0.8, 1.0, <0.6, 0.6, 0.6>, <0.1, 0.1, 0.1>])
  52.   }
  53. }
  54.  
  55. // Rob McGregor's bumpy_white texture
  56. static define bumpy_white_map
  57.   color_map(
  58.     [0.000, 0.154, <0.894, 0.886, 0.886>, <0.745, 0.745, 0.753>]
  59.     [0.154, 0.308, <0.745, 0.745, 0.753>, <0.902, 0.902, 0.859>]
  60.     [0.308, 0.444, <0.902, 0.902, 0.859>, <0.729, 0.706, 0.694>]
  61.     [0.444, 0.615, <0.729, 0.706, 0.694>, <0.588, 0.592, 0.635>]
  62.     [0.615, 0.803, <0.588, 0.592, 0.635>, <0.608, 0.616, 0.659>]
  63.     [0.803, 1.001, <0.608, 0.616, 0.659>, <0.894, 0.886, 0.886>]
  64.   )
  65.  
  66. static define bumpy_white
  67. texture {
  68.   layered
  69.   Crack1 { scale <1, 2, 1.4> rotate <10, 0, -20> }, 
  70.   texture { 
  71.     special shiny { color bumpy_white_map }
  72.     scale <1.2, 2.4, 1.2> 
  73.     rotate <0, 0, -30> 
  74.     rotate <40, 0, 0> 
  75.   }
  76.   scale <0.010, .024, 0.012> 
  77. }
  78.  
  79. // Alfonso Hermida's water texture
  80. static define water
  81. texture {
  82.   noise surface {
  83.     color <0.4, 0.4, 1.0>
  84.     normal ripple_normal
  85.     frequency 100
  86.     bump_scale 1
  87.     ambient 0.3
  88.     diffuse 0.3
  89.     specular white, 0.7
  90.     reflection 0.9
  91.     microfacet Reitz 10
  92.   }
  93.   scale<10, 1, 10>
  94. }
  95.  
  96. // Rob's variation on the old standard blue_ripple
  97. static define green_ripple
  98. texture {
  99.   special shiny {
  100.     color <0.043137, 0.764706, 0.588235>
  101.     normal N + ripple_val
  102.     reflection 0.55
  103.   }
  104. }
  105.  
  106. // Variations on the standard marble texture
  107. static define green_marble
  108. texture {
  109.   noise surface {
  110.     ambient 0.3
  111.     diffuse 0.8
  112.     specular 0.3
  113.     reflection white, 0.3
  114.     microfacet Reitz 5
  115.     position_fn 1
  116.     lookup_fn 1
  117.     octaves 3
  118.     turbulence 3
  119.     color_map(
  120.       [0.0, 0.8, aquamarine, 0.6 * aquamarine]
  121.       [0.8, 1.0, 0.6 * aquamarine, <0.1, 0.1, 0.1>])
  122.   }
  123.   scale <5, 5, 5>
  124. }
  125.  
  126. // Red marble texture
  127. static define blood_marble
  128. texture {
  129.   noise surface {
  130.     ambient 0.3
  131.     diffuse 0.8
  132.     specular 0.3
  133.     reflection white, 0.3
  134.     microfacet Reitz 5
  135.     position_fn 1
  136.     lookup_fn 1
  137.     octaves 3
  138.     turbulence 3
  139.     color_map(
  140.       [0.0, 0.8, red, 0.6 * red]
  141.       [0.8, 1.0, 0.6 * red, <0.1, 0.1, 0.1>])
  142.   }
  143.   scale <5, 5, 5>
  144. }
  145.  
  146. // Ice marble texture
  147. static define ice_marble
  148. texture {
  149.   noise surface {
  150.     ambient 0.3
  151.     diffuse 0.8
  152.     specular 0.3
  153.     reflection white, 0.3
  154.     microfacet Reitz 5
  155.     position_fn 1
  156.     lookup_fn 1
  157.     octaves 3
  158.     turbulence 3
  159.     color_map(
  160.       [0.0, 0.8, cyan, 0.6 * cyan]
  161.       [0.8, 1.0, 0.6 * cyan, <0.1, 0.1, 0.1>])
  162.   }
  163.   scale <5, 5, 5>
  164. }
  165.  
  166. // Blue marble texture
  167. static define blue_marble
  168. texture {
  169.   noise surface {
  170.     ambient 0.3
  171.     diffuse 0.8
  172.     specular 0.3
  173.     reflection white, 0.3
  174.     microfacet Reitz 5
  175.     position_fn 1
  176.     lookup_fn 1
  177.     octaves 3
  178.     turbulence 3
  179.     color_map(
  180.       [0.0, 0.8, blue, 0.6 * cyan]
  181.       [0.8, 1.0, 0.6 * blue, <0.1, 0.1, 0.1>])
  182.   }
  183.   scale <5, 5, 5>
  184. }
  185.  
  186. // Blue marble texture
  187. static define black_marble
  188. texture {
  189.   noise surface {
  190.     ambient 0.3
  191.     diffuse 0.8
  192.     specular 0.3
  193.     reflection white, 0.3
  194.     microfacet Reitz 5
  195.     position_fn 1
  196.     lookup_fn 1
  197.     octaves 3
  198.     turbulence 3
  199.     color_map(
  200.       [0.0, 0.8, black, 0.6 * midnight_blue]
  201.       [0.8, 1.0, 0.6 * black, <0.1, 0.1, 0.1>])
  202.   }
  203.   scale <5, 5, 5>
  204. }
  205.  
  206. // Rob McGregor's desert texture...
  207. // Create a desert wasteland
  208. static define sand_dunes
  209. texture {
  210.   noise surface {
  211.     color <0.85, 0.75, 0.69>
  212.     normal 2
  213.     frequency 100
  214.     bump_scale 1.5
  215.     ambient 0.37
  216.     diffuse 0.75
  217.   }
  218.   // apply to a disc w/radius 10000 and scale to make it look good...
  219.   // haze makes it look more realistic
  220.   // scale <92, 92, 92>
  221. }
  222.  
  223. // Rob McGregor's chrome textures
  224. static define chrome1
  225. texture {
  226.   special surface {
  227.     color white * 0.85 
  228.     ambient 0.05
  229.     diffuse 0.1
  230.     specular white * 0.95, 0.4
  231.     reflection 0.85
  232.     microfacet Cook 5
  233.   }
  234. }
  235.  
  236. static define chrome2
  237. texture {
  238.   special surface {
  239.     color white * 0.9
  240.     ambient 0.05
  241.     diffuse 0.1
  242.     specular white * 0.9, 0.3
  243.     reflection 0.75
  244.     microfacet Cook 3
  245.   }
  246. }
  247.  
  248. // A firey combo
  249. static define fire_map
  250. color_map(
  251.   [0.0, 0.6, <0.85, 0.275, 0>, <1, 0, 0>]
  252.   [0.6, 0.8, <1, 1, 0>, <1, 0.79, 0>]
  253.   [0.8, 1.0, <1, 0.79, 0>, <1, 0.275, 0>])
  254.  
  255. static define fire_sky
  256. texture {
  257.   special surface {
  258.     color fire_map[noise(P)]
  259.     ambient 0.9
  260.     diffuse 0
  261.     specular 0
  262.   }
  263. }
  264. } // End of definitions
  265.  
  266.  
  267.